The present invention relates generally to control devices for automated machinery. More particularly, the present invention relates to programmable machine controllers that can change operating parameters of a machine by offsetting positions of the machine tools.
The use of programmable controllers with automated numerically controlled machines is well known. Typically, machines such as screw machines that are used to work, shape and finish metal bar stock to a desired end product include a plurality of spindles that hold the raw bar stock. The spindles are mounted on a revolving carrier. Each spindle can rotate at high speed and is indexed to various positions by rotational movement of the carrier. One or more machine tools are positioned proximate the spindles so that as a spindle is moved next to the tool the cutting or finishing process is carried out. Each tool typically is used for a single type of operation, such as forming a particular size outside diameter, inside diameter, or various cutting operations such as forming threads. Each machine tool is mounted on a tool slide that can be moved by an electric motor to a desired position.
A programmable controller coordinates all of the above functions so as to have the numerically controlled machine operate in an automated manner. The controller has a memory section in which is stored the dimensional characteristics of the parts to be made. The operator enters the part identification to the controller, usually through a keyboard interface device. The controller then causes the tool slide to move to a predetermined position to form the desired feature of the part. The tool slide can be actuated in a conventional manner such as with a servo feedback motor control in response to an electrical signal generated by the machine controller.
In today's competitive manufacturing environment it is not uncommon that part tolerances be maintained to within .+-.0.001 inch or less from nominal. Automated machinery is well suited for this work because the machine controller can locate the machine tool with a high degree of precision. However, dimensional variations from piece part to piece part are an inevitable result of any machined part. The objectives then are to detect such variations, including any trends of the machine that may eventually result in out-of-tolerance parts, and to compensate the machine tool for such potential errors before they occur.
A known technique for maintaining control over a manufacturing process is statistical process control or SPC. The basic concept of SPC is fairly simple. Measure the process performance, determine any trends that may eventually result in unacceptable output, and adjust the process according to the current data. By way of example, assume that there is a need to control a machine process that forms an inside diameter (ID) for a cylinder. Under SPC, each piece part (or a statistically significant sample) that has been through the process is measured for ID size according to the drawing (specified) requirement. As more and more parts come off the machine, arithmetic averages of the IDs can be calculated. In addition, for a predetermined sample size, the maximum and minimum ID values can be determined, thus yielding the overall range of ID sizes the machine is currently producing. By continually updating these statistical calculations, a real-time analysis is made of the machine process performance versus the specification requirement per the drawing. If the average values are drifting from nominal it indicates that over time the machine may not be able to hold the needed tolerance. Adjustments for this drift can then be made in the machine to return the process back toward nominal. Further, if the range begins to widen it indicates that the machine's repeatability is not only suspect, but that any drift in the average values may result in out-of-tolerance parts.
The statistical data provided by SPC analysis yields useful information on the machine performance. For example, SPC analysis shows that machines require a certain run-in time after start-up before they are performing in an optimum manner, so that the initial parts made after a cold start (such as might occur after a machine is idle overnight) may well be unacceptably close to the tolerance limits even though a pre-run check might indicate the machine is functioning correctly. If the measured range of parts is too wide during this time, or if the range gets worse or the average values does not improve, out-of-tolerance parts will eventually result.
While the use of SPC analysis is fairly common these days, the technique still relies heavily on operator or engineer interpretation and utilization. In other words, SPC analysis provides data that can indicate trends but that data must be correctly interpreted. More difficult, though, is the fact that once the data has been interpreted, someone must then decide how to adjust the machine to correct the trend.
With programmable machine controllers, an operator can usually enter an offset value into the controller to adjust the programmed tool slide position. The operator, however, must estimate the amount of offset needed to correct the trend shown by the SPC data. Thus, the practical application of SPC is an open loop function that heavily relies on both human interpretation of SPC data and estimation of the needed corrective measures. The operator typically estimates the amount of offset needed either based on experience or based on the data from a single piece part. In either situation, the value of the SPC analysis is greatly diminished because of not only the possibility of different operators reaching different interpretations and conclusions, but also the problem that basing estimates on single part dimensions negates the data based on averages and range. Another significant disadvantage is that the operator must temporarily shutdown the machine to enter the new offsets.
The need, therefore, exists for a system in which SPC analysis can be incorporated into a machine control system so as to provide a real time closed-loop control that detects machine performance trends and automatically compensates for the same.